[INFO] fetching crate async-coap-uri 0.1.0...
[INFO] checking async-coap-uri-0.1.0 against master#158f00a1c5175648af6f6099b075f78d1d014a28 for pr-121251
[INFO] extracting crate async-coap-uri 0.1.0 into /workspace/builds/worker-1-tc1/source
[INFO] validating manifest of crates.io crate async-coap-uri 0.1.0 on toolchain 158f00a1c5175648af6f6099b075f78d1d014a28
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate async-coap-uri 0.1.0
[INFO] finished tweaking crates.io crate async-coap-uri 0.1.0
[INFO] tweaked toml for crates.io crate async-coap-uri 0.1.0 written to /workspace/builds/worker-1-tc1/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded async-coap-uri-macros v0.1.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] cbd33d7266f7799459c241ce5ec7823656c850a407a16d42350575c0e5f39308
[INFO] running `Command { std: "docker" "start" "-a" "cbd33d7266f7799459c241ce5ec7823656c850a407a16d42350575c0e5f39308", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "cbd33d7266f7799459c241ce5ec7823656c850a407a16d42350575c0e5f39308", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "cbd33d7266f7799459c241ce5ec7823656c850a407a16d42350575c0e5f39308", kill_on_drop: false }`
[INFO] [stdout] cbd33d7266f7799459c241ce5ec7823656c850a407a16d42350575c0e5f39308
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 05780aac7394a534e0586774af8efd0784b655bea99b728e4b15fe62699cf2ef
[INFO] running `Command { std: "docker" "start" "-a" "05780aac7394a534e0586774af8efd0784b655bea99b728e4b15fe62699cf2ef", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v0.4.30
[INFO] [stderr]    Compiling memchr v2.7.1
[INFO] [stderr]    Compiling unicode-xid v0.1.0
[INFO] [stderr]    Compiling syn v0.15.44
[INFO] [stderr]    Compiling proc-macro-hack v0.5.20+deprecated
[INFO] [stderr]    Compiling regex-syntax v0.8.2
[INFO] [stderr]    Compiling lazy_static v1.4.0
[INFO] [stderr]     Checking aho-corasick v1.1.2
[INFO] [stderr]    Compiling quote v0.6.13
[INFO] [stderr]     Checking regex-automata v0.4.5
[INFO] [stderr]     Checking regex v1.10.3
[INFO] [stderr]    Compiling async-coap-uri-macros v0.1.0
[INFO] [stderr]     Checking async-coap-uri v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unknown `doc` attribute `unstable`
[INFO] [stdout]   --> src/uri_unescape_buf.rs:55:7
[INFO] [stdout]    |
[INFO] [stdout] 55 | #[doc(unstable)]
[INFO] [stdout]    |       ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: for more information, see issue #82730 <https://github.com/rust-lang/rust/issues/82730>
[INFO] [stdout]    = note: `#[warn(invalid_doc_attributes)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unknown `doc` attribute `unstable`
[INFO] [stdout]   --> src/uri_unescape_buf.rs:55:7
[INFO] [stdout]    |
[INFO] [stdout] 55 | #[doc(unstable)]
[INFO] [stdout]    |       ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: for more information, see issue #82730 <https://github.com/rust-lang/rust/issues/82730>
[INFO] [stdout]    = note: `#[warn(invalid_doc_attributes)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `needs_escape` is never read
[INFO] [stdout]    --> src/escape/escape_uri.rs:154:16
[INFO] [stdout]     |
[INFO] [stdout] 151 | pub struct EscapeUri<'a, X: NeedsEscape = EscapeUriSegment> {
[INFO] [stdout]     |            --------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 154 |     pub(super) needs_escape: X,
[INFO] [stdout]     |                ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `EscapeUri` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 2 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `needs_escape` is never read
[INFO] [stdout]    --> src/escape/escape_uri.rs:154:16
[INFO] [stdout]     |
[INFO] [stdout] 151 | pub struct EscapeUri<'a, X: NeedsEscape = EscapeUriSegment> {
[INFO] [stdout]     |            --------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 154 |     pub(super) needs_escape: X,
[INFO] [stdout]     |                ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `EscapeUri` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 2 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 6.25s
[INFO] running `Command { std: "docker" "inspect" "05780aac7394a534e0586774af8efd0784b655bea99b728e4b15fe62699cf2ef", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "05780aac7394a534e0586774af8efd0784b655bea99b728e4b15fe62699cf2ef", kill_on_drop: false }`
[INFO] [stdout] 05780aac7394a534e0586774af8efd0784b655bea99b728e4b15fe62699cf2ef
[INFO] checking async-coap-uri-0.1.0 against try#b4fc5dbf0bc33be331f9d893db5b3a794f29724a+rustflags=-Dexplicit_range -Dtrait_impl_range -Wrange_syntax -Wrange_bounds for pr-121251
[INFO] extracting crate async-coap-uri 0.1.0 into /workspace/builds/worker-1-tc2/source
[INFO] validating manifest of crates.io crate async-coap-uri 0.1.0 on toolchain b4fc5dbf0bc33be331f9d893db5b3a794f29724a
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate async-coap-uri 0.1.0
[INFO] finished tweaking crates.io crate async-coap-uri 0.1.0
[INFO] tweaked toml for crates.io crate async-coap-uri 0.1.0 written to /workspace/builds/worker-1-tc2/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 527ed26728a198ba290938076fd7ffffcf94e3dd7475c69acde4e89ceb370157
[INFO] running `Command { std: "docker" "start" "-a" "527ed26728a198ba290938076fd7ffffcf94e3dd7475c69acde4e89ceb370157", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "527ed26728a198ba290938076fd7ffffcf94e3dd7475c69acde4e89ceb370157", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "527ed26728a198ba290938076fd7ffffcf94e3dd7475c69acde4e89ceb370157", kill_on_drop: false }`
[INFO] [stdout] 527ed26728a198ba290938076fd7ffffcf94e3dd7475c69acde4e89ceb370157
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -Dexplicit_range -Dtrait_impl_range -Wrange_syntax -Wrange_bounds" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] d3e78829c46e59fd01f6521dc2b43e919ce467821d4879d56775cb06671e5a44
[INFO] running `Command { std: "docker" "start" "-a" "d3e78829c46e59fd01f6521dc2b43e919ce467821d4879d56775cb06671e5a44", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v0.4.30
[INFO] [stderr]    Compiling unicode-xid v0.1.0
[INFO] [stderr]    Compiling memchr v2.7.1
[INFO] [stderr]    Compiling proc-macro-hack v0.5.20+deprecated
[INFO] [stderr]    Compiling syn v0.15.44
[INFO] [stderr]    Compiling regex-syntax v0.8.2
[INFO] [stderr]    Compiling lazy_static v1.4.0
[INFO] [stderr]     Checking aho-corasick v1.1.2
[INFO] [stderr]    Compiling quote v0.6.13
[INFO] [stderr]     Checking regex-automata v0.4.5
[INFO] [stderr]     Checking regex v1.10.3
[INFO] [stderr]    Compiling async-coap-uri-macros v0.1.0
[INFO] [stderr]     Checking async-coap-uri v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/escape/mod.rs:205:22
[INFO] [stdout]     |
[INFO] [stdout] 205 |             for i in 0..c.encode_utf8(&mut buf).len() {
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: requested on the command line with `-W range-syntax`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/uri_ref.rs:146:21
[INFO] [stdout]     |
[INFO] [stdout] 146 |             if self[i..].starts_with("://") {
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/uri_ref.rs:148:28
[INFO] [stdout]     |
[INFO] [stdout] 148 |             } else if self[i..].starts_with(":/") {
[INFO] [stdout]     |                            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/uri_ref.rs:150:28
[INFO] [stdout]     |
[INFO] [stdout] 150 |             } else if self[i..].starts_with(':') {
[INFO] [stdout]     |                            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/uri_ref.rs:243:21
[INFO] [stdout]     |
[INFO] [stdout] 243 |             if self[i..].starts_with(':') {
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/uri_ref.rs:268:31
[INFO] [stdout]     |
[INFO] [stdout] 268 |         let heir_part = &self[heir_part_start..];
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/uri_ref.rs:271:40
[INFO] [stdout]     |
[INFO] [stdout] 271 |             let authority = &heir_part[2..];
[INFO] [stdout]     |                                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/uri_ref.rs:300:21
[INFO] [stdout]     |
[INFO] [stdout] 300 |             if self[i..].starts_with('?') {
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/uri_ref.rs:317:31
[INFO] [stdout]     |
[INFO] [stdout] 317 |             let step1 = &self[i..];
[INFO] [stdout]     |                               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/uri_ref.rs:321:32
[INFO] [stdout]     |
[INFO] [stdout] 321 |             let step2 = &step1[2..];
[INFO] [stdout]     |                                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/uri_ref.rs:323:29
[INFO] [stdout]     |
[INFO] [stdout] 323 |                 return Some(i + 2..i + 2 + j);
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/uri_ref.rs:325:29
[INFO] [stdout]     |
[INFO] [stdout] 325 |                 return Some(i + 2..self.len());
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/uri_ref.rs:399:21
[INFO] [stdout]     |
[INFO] [stdout] 399 |             if self[i..].starts_with(':') {
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/uri_ref.rs:439:40
[INFO] [stdout]     |
[INFO] [stdout] 439 |             host_and_port = &authority[i + 1..];
[INFO] [stdout]     |                                        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/uri_ref.rs:450:39
[INFO] [stdout]     |
[INFO] [stdout] 450 |                 host = &host_and_port[1..i];
[INFO] [stdout]     |                                       ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/uri_ref.rs:451:53
[INFO] [stdout]     |
[INFO] [stdout] 451 |                 port = u16::from_str(&host_and_port[i + 2..]).ok();
[INFO] [stdout]     |                                                     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/uri_ref.rs:453:39
[INFO] [stdout]     |
[INFO] [stdout] 453 |                 host = &host_and_port[1..host_and_port.len() - 1];
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/uri_ref.rs:459:53
[INFO] [stdout]     |
[INFO] [stdout] 459 |                 port = u16::from_str(&host_and_port[i + 1..]).ok();
[INFO] [stdout]     |                                                     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/uri_ref.rs:581:60
[INFO] [stdout]     |
[INFO] [stdout] 581 |             Some(unsafe { RelRef::from_str_unchecked(&self[i..]) })
[INFO] [stdout]     |                                                            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/uri_ref.rs:603:44
[INFO] [stdout]     |
[INFO] [stdout] 603 |         self.query_as_rel_ref().map(|s| &s[1..])
[INFO] [stdout]     |                                            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/uri_ref.rs:667:36
[INFO] [stdout]     |
[INFO] [stdout] 667 |                 (split.0, &split.1[1..])
[INFO] [stdout]     |                                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/uri_ref.rs:720:60
[INFO] [stdout]     |
[INFO] [stdout] 720 |             Some(unsafe { RelRef::from_str_unchecked(&self[i..]) })
[INFO] [stdout]     |                                                            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/uri_ref.rs:732:47
[INFO] [stdout]     |
[INFO] [stdout] 732 |         self.fragment_as_rel_ref().map(|s| &s[1..])
[INFO] [stdout]     |                                               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/uri_ref.rs:760:31
[INFO] [stdout]     |
[INFO] [stdout] 760 |         path_end > 0 && &self[path_end - 1..path_end] == "/"
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/uri_ref.rs:904:54
[INFO] [stdout]     |
[INFO] [stdout] 904 |         if path_end > self.path_start() + 1 && &self[path_end - 1..path_end] == "/" {
[INFO] [stdout]     |                                                      ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/uri_ref.rs:939:69
[INFO] [stdout]     |
[INFO] [stdout] 939 |             Some(unsafe { RelRef::from_str_unchecked(&self_rel_part[base_rel_part.len()..]) })
[INFO] [stdout]     |                                                                     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/uri_ref.rs:1004:36
[INFO] [stdout]      |
[INFO] [stdout] 1004 |             &mut self.as_mut_str()[begin..end],
[INFO] [stdout]      |                                    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/uri_ref_buf.rs:274:38
[INFO] [stdout]     |
[INFO] [stdout] 274 |             if path_end > 0 && &self[path_end - 1..path_end] == "/" {
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/uri_ref_buf.rs:286:36
[INFO] [stdout]     |
[INFO] [stdout] 286 |         if self.len() > 0 && &self[path_begin..path_begin + 1] == "/" {
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/uri_raw_components.rs:139:22
[INFO] [stdout]     |
[INFO] [stdout] 139 |                 Some(i..i + 1),
[INFO] [stdout]     |                      ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/uri_raw_components.rs:148:26
[INFO] [stdout]     |
[INFO] [stdout] 148 |                     Some(0..uri.len()),
[INFO] [stdout]     |                          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/uri_raw_components.rs:160:26
[INFO] [stdout]     |
[INFO] [stdout] 160 |                     Some(x.start()..x.end()),
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/rel_ref.rs:123:56
[INFO] [stdout]     |
[INFO] [stdout] 123 |             write!(write, "{}%3A{}", &self[..i], &self[i + 1..])
[INFO] [stdout]     |                                                        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/rel_ref.rs:185:22
[INFO] [stdout]     |
[INFO] [stdout] 185 |                 Some(first_error..first_error + 1),
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/rel_ref.rs:454:34
[INFO] [stdout]     |
[INFO] [stdout] 454 |         if path_end > 1 && &self[path_end - 1..path_end] == "/" {
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/rel_ref.rs:478:36
[INFO] [stdout]     |
[INFO] [stdout] 478 |                 str_ref = &str_ref[2..];
[INFO] [stdout]     |                                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/rel_ref.rs:499:57
[INFO] [stdout]     |
[INFO] [stdout] 499 |                     RelRef::from_str_unchecked(&trimmed[i + 1..])
[INFO] [stdout]     |                                                         ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/rel_ref.rs:504:57
[INFO] [stdout]     |
[INFO] [stdout] 504 |                     RelRef::from_str_unchecked(&trimmed[i..])
[INFO] [stdout]     |                                                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/rel_ref.rs:511:53
[INFO] [stdout]     |
[INFO] [stdout] 511 |                 RelRef::from_str_unchecked(&trimmed[trimmed.len()..])
[INFO] [stdout]     |                                                     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/rel_ref.rs:520:18
[INFO] [stdout]     |
[INFO] [stdout] 520 |         for _ in 0..n {
[INFO] [stdout]     |                  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/rel_ref.rs:666:40
[INFO] [stdout]     |
[INFO] [stdout] 666 |             mut_bytes = &mut mut_bytes[1..];
[INFO] [stdout]     |                                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/uri.rs:84:21
[INFO] [stdout]    |
[INFO] [stdout] 84 |             if self[i..].starts_with("://") {
[INFO] [stdout]    |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/uri.rs:86:28
[INFO] [stdout]    |
[INFO] [stdout] 86 |             } else if self[i..].starts_with(":/") {
[INFO] [stdout]    |                            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/rel_ref_buf.rs:93:22
[INFO] [stdout]    |
[INFO] [stdout] 93 |                 Some(first_error..s.len()),
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/rel_ref_buf.rs:146:38
[INFO] [stdout]     |
[INFO] [stdout] 146 |             (self.0).0.replace_range(i..i + 1, "%3A");
[INFO] [stdout]     |                                      ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/uri_buf.rs:99:26
[INFO] [stdout]    |
[INFO] [stdout] 99 |             path = &path[1..];
[INFO] [stdout]    |                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/uri_buf.rs:228:26
[INFO] [stdout]     |
[INFO] [stdout] 228 |             host = &host[1..host.len()];
[INFO] [stdout]     |                          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unknown `doc` attribute `unstable`
[INFO] [stdout]   --> src/uri_unescape_buf.rs:55:7
[INFO] [stdout]    |
[INFO] [stdout] 55 | #[doc(unstable)]
[INFO] [stdout]    |       ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: for more information, see issue #82730 <https://github.com/rust-lang/rust/issues/82730>
[INFO] [stdout]    = note: `#[warn(invalid_doc_attributes)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/escape/mod.rs:205:22
[INFO] [stdout]     |
[INFO] [stdout] 205 |             for i in 0..c.encode_utf8(&mut buf).len() {
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: requested on the command line with `-W range-syntax`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/uri_ref.rs:146:21
[INFO] [stdout]     |
[INFO] [stdout] 146 |             if self[i..].starts_with("://") {
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/uri_ref.rs:148:28
[INFO] [stdout]     |
[INFO] [stdout] 148 |             } else if self[i..].starts_with(":/") {
[INFO] [stdout]     |                            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/uri_ref.rs:150:28
[INFO] [stdout]     |
[INFO] [stdout] 150 |             } else if self[i..].starts_with(':') {
[INFO] [stdout]     |                            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/uri_ref.rs:243:21
[INFO] [stdout]     |
[INFO] [stdout] 243 |             if self[i..].starts_with(':') {
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/uri_ref.rs:268:31
[INFO] [stdout]     |
[INFO] [stdout] 268 |         let heir_part = &self[heir_part_start..];
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/uri_ref.rs:271:40
[INFO] [stdout]     |
[INFO] [stdout] 271 |             let authority = &heir_part[2..];
[INFO] [stdout]     |                                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/uri_ref.rs:300:21
[INFO] [stdout]     |
[INFO] [stdout] 300 |             if self[i..].starts_with('?') {
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/uri_ref.rs:317:31
[INFO] [stdout]     |
[INFO] [stdout] 317 |             let step1 = &self[i..];
[INFO] [stdout]     |                               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/uri_ref.rs:321:32
[INFO] [stdout]     |
[INFO] [stdout] 321 |             let step2 = &step1[2..];
[INFO] [stdout]     |                                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/uri_ref.rs:323:29
[INFO] [stdout]     |
[INFO] [stdout] 323 |                 return Some(i + 2..i + 2 + j);
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/uri_ref.rs:325:29
[INFO] [stdout]     |
[INFO] [stdout] 325 |                 return Some(i + 2..self.len());
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/uri_ref.rs:399:21
[INFO] [stdout]     |
[INFO] [stdout] 399 |             if self[i..].starts_with(':') {
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/uri_ref.rs:439:40
[INFO] [stdout]     |
[INFO] [stdout] 439 |             host_and_port = &authority[i + 1..];
[INFO] [stdout]     |                                        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/uri_ref.rs:450:39
[INFO] [stdout]     |
[INFO] [stdout] 450 |                 host = &host_and_port[1..i];
[INFO] [stdout]     |                                       ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/uri_ref.rs:451:53
[INFO] [stdout]     |
[INFO] [stdout] 451 |                 port = u16::from_str(&host_and_port[i + 2..]).ok();
[INFO] [stdout]     |                                                     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/uri_ref.rs:453:39
[INFO] [stdout]     |
[INFO] [stdout] 453 |                 host = &host_and_port[1..host_and_port.len() - 1];
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/uri_ref.rs:459:53
[INFO] [stdout]     |
[INFO] [stdout] 459 |                 port = u16::from_str(&host_and_port[i + 1..]).ok();
[INFO] [stdout]     |                                                     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/uri_ref.rs:581:60
[INFO] [stdout]     |
[INFO] [stdout] 581 |             Some(unsafe { RelRef::from_str_unchecked(&self[i..]) })
[INFO] [stdout]     |                                                            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/uri_ref.rs:603:44
[INFO] [stdout]     |
[INFO] [stdout] 603 |         self.query_as_rel_ref().map(|s| &s[1..])
[INFO] [stdout]     |                                            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/uri_ref.rs:667:36
[INFO] [stdout]     |
[INFO] [stdout] 667 |                 (split.0, &split.1[1..])
[INFO] [stdout]     |                                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/uri_ref.rs:720:60
[INFO] [stdout]     |
[INFO] [stdout] 720 |             Some(unsafe { RelRef::from_str_unchecked(&self[i..]) })
[INFO] [stdout]     |                                                            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/uri_ref.rs:732:47
[INFO] [stdout]     |
[INFO] [stdout] 732 |         self.fragment_as_rel_ref().map(|s| &s[1..])
[INFO] [stdout]     |                                               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/uri_ref.rs:760:31
[INFO] [stdout]     |
[INFO] [stdout] 760 |         path_end > 0 && &self[path_end - 1..path_end] == "/"
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/uri_ref.rs:904:54
[INFO] [stdout]     |
[INFO] [stdout] 904 |         if path_end > self.path_start() + 1 && &self[path_end - 1..path_end] == "/" {
[INFO] [stdout]     |                                                      ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/uri_ref.rs:939:69
[INFO] [stdout]     |
[INFO] [stdout] 939 |             Some(unsafe { RelRef::from_str_unchecked(&self_rel_part[base_rel_part.len()..]) })
[INFO] [stdout]     |                                                                     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/uri_ref.rs:1004:36
[INFO] [stdout]      |
[INFO] [stdout] 1004 |             &mut self.as_mut_str()[begin..end],
[INFO] [stdout]      |                                    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/uri_ref_buf.rs:274:38
[INFO] [stdout]     |
[INFO] [stdout] 274 |             if path_end > 0 && &self[path_end - 1..path_end] == "/" {
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/uri_ref_buf.rs:286:36
[INFO] [stdout]     |
[INFO] [stdout] 286 |         if self.len() > 0 && &self[path_begin..path_begin + 1] == "/" {
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/uri_raw_components.rs:139:22
[INFO] [stdout]     |
[INFO] [stdout] 139 |                 Some(i..i + 1),
[INFO] [stdout]     |                      ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/uri_raw_components.rs:148:26
[INFO] [stdout]     |
[INFO] [stdout] 148 |                     Some(0..uri.len()),
[INFO] [stdout]     |                          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/uri_raw_components.rs:160:26
[INFO] [stdout]     |
[INFO] [stdout] 160 |                     Some(x.start()..x.end()),
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/rel_ref.rs:123:56
[INFO] [stdout]     |
[INFO] [stdout] 123 |             write!(write, "{}%3A{}", &self[..i], &self[i + 1..])
[INFO] [stdout]     |                                                        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/rel_ref.rs:185:22
[INFO] [stdout]     |
[INFO] [stdout] 185 |                 Some(first_error..first_error + 1),
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/rel_ref.rs:454:34
[INFO] [stdout]     |
[INFO] [stdout] 454 |         if path_end > 1 && &self[path_end - 1..path_end] == "/" {
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/rel_ref.rs:478:36
[INFO] [stdout]     |
[INFO] [stdout] 478 |                 str_ref = &str_ref[2..];
[INFO] [stdout]     |                                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/rel_ref.rs:499:57
[INFO] [stdout]     |
[INFO] [stdout] 499 |                     RelRef::from_str_unchecked(&trimmed[i + 1..])
[INFO] [stdout]     |                                                         ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/rel_ref.rs:504:57
[INFO] [stdout]     |
[INFO] [stdout] 504 |                     RelRef::from_str_unchecked(&trimmed[i..])
[INFO] [stdout]     |                                                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/rel_ref.rs:511:53
[INFO] [stdout]     |
[INFO] [stdout] 511 |                 RelRef::from_str_unchecked(&trimmed[trimmed.len()..])
[INFO] [stdout]     |                                                     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/rel_ref.rs:520:18
[INFO] [stdout]     |
[INFO] [stdout] 520 |         for _ in 0..n {
[INFO] [stdout]     |                  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/rel_ref.rs:666:40
[INFO] [stdout]     |
[INFO] [stdout] 666 |             mut_bytes = &mut mut_bytes[1..];
[INFO] [stdout]     |                                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/uri.rs:84:21
[INFO] [stdout]    |
[INFO] [stdout] 84 |             if self[i..].starts_with("://") {
[INFO] [stdout]    |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/uri.rs:86:28
[INFO] [stdout]    |
[INFO] [stdout] 86 |             } else if self[i..].starts_with(":/") {
[INFO] [stdout]    |                            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/rel_ref_buf.rs:93:22
[INFO] [stdout]    |
[INFO] [stdout] 93 |                 Some(first_error..s.len()),
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/rel_ref_buf.rs:146:38
[INFO] [stdout]     |
[INFO] [stdout] 146 |             (self.0).0.replace_range(i..i + 1, "%3A");
[INFO] [stdout]     |                                      ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/uri_buf.rs:99:26
[INFO] [stdout]    |
[INFO] [stdout] 99 |             path = &path[1..];
[INFO] [stdout]    |                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/uri_buf.rs:228:26
[INFO] [stdout]     |
[INFO] [stdout] 228 |             host = &host[1..host.len()];
[INFO] [stdout]     |                          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unknown `doc` attribute `unstable`
[INFO] [stdout]   --> src/uri_unescape_buf.rs:55:7
[INFO] [stdout]    |
[INFO] [stdout] 55 | #[doc(unstable)]
[INFO] [stdout]    |       ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: for more information, see issue #82730 <https://github.com/rust-lang/rust/issues/82730>
[INFO] [stdout]    = note: `#[warn(invalid_doc_attributes)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `needs_escape` is never read
[INFO] [stdout]    --> src/escape/escape_uri.rs:154:16
[INFO] [stdout]     |
[INFO] [stdout] 151 | pub struct EscapeUri<'a, X: NeedsEscape = EscapeUriSegment> {
[INFO] [stdout]     |            --------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 154 |     pub(super) needs_escape: X,
[INFO] [stdout]     |                ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `EscapeUri` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: explicit usage of `Range` type in public function
[INFO] [stdout]   --> src/error.rs:53:49
[INFO] [stdout]    |
[INFO] [stdout] 53 |     pub fn new(desc: &'static str, span: Option<Range<usize>>) -> ParseError {
[INFO] [stdout]    |                                                 ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: requested on the command line with `-D explicit-range`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error; 49 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `async-coap-uri` (lib) due to 2 previous errors; 49 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: field `needs_escape` is never read
[INFO] [stdout]    --> src/escape/escape_uri.rs:154:16
[INFO] [stdout]     |
[INFO] [stdout] 151 | pub struct EscapeUri<'a, X: NeedsEscape = EscapeUriSegment> {
[INFO] [stdout]     |            --------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 154 |     pub(super) needs_escape: X,
[INFO] [stdout]     |                ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `EscapeUri` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 49 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "d3e78829c46e59fd01f6521dc2b43e919ce467821d4879d56775cb06671e5a44", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d3e78829c46e59fd01f6521dc2b43e919ce467821d4879d56775cb06671e5a44", kill_on_drop: false }`
[INFO] [stdout] d3e78829c46e59fd01f6521dc2b43e919ce467821d4879d56775cb06671e5a44
